/**
 * 因为本js需要用于nodejs生成校验文件给后端，需要用node语法
 * key
 *   如果是config.propery下的属性，config.property请省略
 *   如果是config.data 或者 events下的属性，需要写全路径，如"events.parameters.[x].label"
 */
import { $demoi18n } from '@/utils/lang';
import CssOP from '../components/common/css-style-editor/icon-config/icon-config';
import * as OP from '../components/common/echart/form-item-options.js';
import C from './rules_constant.js';
import * as defaultOP from './rules_options.js';

const rulesMap = {
  'word.lineHeight': {
    type: 'number', required: false, min: C.numberMinNeg, max: C.numberMax, label: $demoi18n('panel.title.lineHeight'),
  },

  'panel.cssStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.label.width'),
  },

  'panel.cssStyle.horizontalAlign': {
    type: 'string', required: false, label: $demoi18n('panel.cssStyle.horizontalAlign'),
  },

  'panel.cssStyle.verticalAlign': {
    type: 'string', required: false, label: $demoi18n('panel.cssStyle.verticalAlign'),
  },

  'panel.cssStyle.displayMode': {
    type: 'string', required: false, label: $demoi18n('panel.cssStyle.displayMode'),
  },

  'config.data.tooltip.originTooltipSetting.background': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.bgColor'),
  },

  'config.property.showThousand': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.showThousandth'),
  },

  'config.data.tooltip.advancedTooltipSetting.paddingArr.[x]': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('layer.label.padding'),
  },

  'config.data.tooltip.advancedTooltipSetting.border': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.borderWidth'),
  },

  'config.data.tooltip.advancedTooltipSetting.borderColor': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.borderColor'),
  },

  'config.data.tooltip.advancedTooltipSetting.borderWidth': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('layer.label.borderWidth'),
  },

  'config.data.tooltip.advancedTooltipSetting.background': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.bgColor'),
  },
  'config.data.tooltip.asTooltip': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.asTooltip'),
  },

  'config.data.tooltip.asTooltipKey': {
    type: 'string', required: false, label: 'Tooltip Key',
  },

  'config.data.tooltip.hideDelay': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('layer.label.duration'),
  },

  'config.data.autoRefresh.frequencyType': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panelData.refreshFrequancy'),
  },

  'tooltip.advancedTooltipSetting.background': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.bgColor'),
  },

  'tooltip.advancedTooltipSetting.border': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.borderWidth'),
  },

  'tooltip.advancedTooltipSetting.borderColor': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.borderColor'),
  },

  'tooltip.advancedTooltipSetting.borderWidth': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('layer.label.borderWidth'),
  },

  'tooltip.advancedTooltipSetting.padding': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.padding'),
  },

  'tooltip.advancedTooltipSetting.paddingArr.[x]': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('layer.label.padding'),
  },

  'tooltip.hideDelay': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('layer.label.duration'),
  },

  'tooltip.originTooltipSetting.background': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('layer.label.bgColor'),
  },

  'echart.grid.top': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingTop'),
  },

  'echart.grid.bottom': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingDown'),
  },

  'echart.grid.left': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingLeft'),
  },

  'echart.grid.right': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingRight'),
  },

  'echart.splitLine.show.0': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.xAxisSeparatorDisplay'),
  },

  'echart.splitLine.show.1': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.yAxisSeparatorDisplay'),
  },

  'echart.splitLine.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.splitLineColor'),
  },

  'echart.splitLine.lineStyle.opacity': {
    type: 'number', required: false, min: C.opacityMin, max: C.opacityMax,
    label: $demoi18n('echart.label.splitLineOpacity'),
  },

  'echart.splitLine.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.splitLineWidth'),
  },

  'echart.splitLine.lineStyle.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.splitLineType'),
  },

  'echart.series.markLine.symbol.0': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.refStartArrowShape'),
  },

  'echart.series.markLine.symbol.1': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.refEndArrowShape'),
  },

  'echart.series.markLine.data.[x]._serieName': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.refSeriesName'),
  },

  'echart.series.markLine.data.[x]._axisType': {
    type: 'enum', required: false, enumValues: OP.xyAxisTypes, label: $demoi18n('echart.th.axis'),
  },

  'echart.series.markLine.data.[x]._value': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('word.referenceValue'),
  },

  'echart.series.markLine.data.[x].lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.guideColor'),
  },

  'echart.series.markLine.data.[x].lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.guideLineThickness'),
  },

  'echart.series.markLine.data.[x].lineStyle.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.guideType'),
  },

  'echart.series.markLine.data.[x].label.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.guideNameDisplay'),
  },

  'echart.series.markLine.data.[x].name': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.guideName'),
  },

  'echart.series.markLine.data.[x].label.position': {
    type: 'enum', required: false, enumValues: OP.markLineNamePositions, label: $demoi18n('echart.label.guideNameLocation'),
  },

  'echart.series.markArea.data.[x].0._serieName': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.refSeriesName'),
  },

  'echart.series.markArea.data.[x].0.yAxis': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.referenceFieldOnReference'),
  },

  'echart.series.markArea.data.[x].1.yAxis': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.referenceUnderReferenceDomain'),
  },

  'echart.series.markArea.data.[x].0.xAxis': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.referenceFieldLeftReference'),
  },

  'echart.series.markArea.data.[x].1.xAxis': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.referenceFieldRightReference'),
  },

  'echart.series.markArea.data.[x].0.itemStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.referenceFieldColor'),
  },

  'echart.series.markArea.data.[x].0.itemStyle.opacity': {
    type: 'number', required: false, min: C.opacityMin, max: C.opacityMax,
    label: $demoi18n('echart.label.referenceFieldTransparency'),
  },

  'echart.series.markArea.data.[x].0.label.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.referenceDomainNameDisplay'),
  },

  'echart.series.markArea.data.[x].0.name': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.referenceDomainName'),
  },

  'echart.series.markArea.data.[x].0.label.position': {
    type: 'enum', required: false, enumValues: OP.markAreaNamePositions,
    label: $demoi18n('echart.label.referenceDomainNameLocation'),
  },

  'echart.series.barWidth': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.barWidth'),
  },

  'echart.series.barGap': {
    type: 'number', required: false, min: C.numberMinNeg, max: C.numberMax, label: $demoi18n('echart.label.barDistance'),
  },

  'echart.series._stackName': {
    type: 'enum', required: false, enumValues: OP.stackNames, label: $demoi18n('label.barArrangement'),
  },

  'echart.series.itemStyle.borderColor': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.barStrokeColor'),
  },

  'echart.series.itemStyle.borderWidth': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.barStrokeWidth'),
  },

  'echart.series.itemStyle.borderType': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.barStrokeType'),
  },

  'echart.series.itemStyle.borderRadius': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.filletRadius'),
  },

  'echart.series.showBackground': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showBackgroundColor'),
  },

  'echart.series.backgroundStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('word.backgroundColor'),
  },

  'echart.series._labels.[x]._forType': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.usageType'),
  },

  'echart.series._labels.[x]._serieName': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.seriesName'),
  },

  'echart.series._labels.[x].show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showDataLabels'),
  },

  'echart.series._labels.[x].position': {
    type: 'enum', required: false, enumValues: OP.seriesLabelPositions, label: $demoi18n('echart.label.labelPosition'),
  },

  'echart.series._labels.[x].offset': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.labelOffset'),
  },

  'echart.series._labels.[x].rotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.textDirection'),
  },

  'echart.series._labels.[x].color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },

  'echart.series._labels.[x].fontSize': {
    type: 'number', required: false, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },

  'echart.series._labels.[x].fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },

  'echart.series._labels.[x].fontFamily': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.fonts'),
  },

  'echart.xAxis.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.xAxisDisplay'),
  },

  'echart.xAxis.name': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.xAxisName'),
  },

  'echart.xAxis.type': {
    type: 'enum', required: false, enumValues: OP.xAxisTypes, label: $demoi18n('echart.label.xAxisType'),
  },

  'echart.xAxis.position': {
    type: 'enum', required: false, enumValues: OP.xAxisPositions, label: $demoi18n('echart.label.xAxisPosition'),
  },

  'echart.xAxis.inverse': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.reverseAxis'),
  },

  'echart.xAxis.nameLocation': {
    type: 'enum', required: false, enumValues: OP.axisNameLocations,
    label: $demoi18n('echart.label.axisNameDisplayPosition'),
  },

  'echart.xAxis.nameGap': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisNameAndAxisDistance'),
  },

  'echart.xAxis.nameRotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisNameRotationAngle'),
  },

  'echart.xAxis.nameTextStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },

  'echart.xAxis.nameTextStyle.fontSize': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.fontSize'),
  },

  'echart.xAxis.nameTextStyle.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },

  'echart.xAxis.nameTextStyle.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },

  'echart.xAxis.axisLabel.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showScaleLabels'),
  },

  'echart.xAxis.axisLabel.margin': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.labelToAxisDistance'),
  },

  'echart.xAxis.axisLabel.rotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.labelRotationAngle'),
  },

  'echart.xAxis.axisLabel.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.scaleLabelDisplayInterval'),
  },

  'echart.xAxis.axisLabel.inside': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.scaleLabelFacingInward'),
  },

  'echart.xAxis.axisLabel.textStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },

  'echart.xAxis.axisLabel.fontSize': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.fontSize'),
  },

  'echart.xAxis.axisLabel.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },

  'echart.xAxis.axisLabel.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },

  'echart.xAxis.axisTick.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showAxisScale'),
  },

  'echart.xAxis.minInterval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.minimumAxisScaleInterval'),
  },

  'echart.xAxis.maxInterval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.maxAxisScaleInterval'),
  },

  'echart.xAxis.splitNumber': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.splitNumber'),
  },

  'echart.xAxis.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.axisSplitInterval'),
  },

  'echart.xAxis.axisTick.alignWithLabel': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.alignmentOfTickMarksAndLabels'),
  },

  'echart.xAxis.axisTick.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.displayIntervalOfAxisScale'),
  },

  'echart.xAxis.axisTick.inside': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.shaftScaleInward'),
  },

  'echart.xAxis.axisTick.length': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.lengthOfShaftScale'),
  },

  'echart.xAxis.axisTick.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.axisScaleColor'),
  },

  'echart.xAxis.axisTick.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisScaleLineweight'),
  },

  'echart.xAxis.axisTick.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.axisType'),
  },

  'echart.xAxis.axisLine.symbol.0': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.axisArrowShapeStart'),
  },

  'echart.xAxis.axisLine.symbol.1': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.axisArrowShapeEnd'),
  },

  'echart.xAxis.axisLine.symbolSize.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.sizeOfArrowVertical'),
  },

  'echart.xAxis.axisLine.symbolOffset.0': {
    type: 'number', required: false, min: C.numberMinNeg, max: C.numberMax,
    label: $demoi18n('echart.label.offsetOfArrowsParallel'),
  },

  'echart.xAxis.axisLine.symbolOffset.1': {
    type: 'number', required: false, min: C.numberMinNeg, max: C.numberMax,
    label: $demoi18n('echart.label.offsetOfArrowVertical'),
  },

  'echart.xAxis.axisLine.lineStyle.color': {
    type: 'number', required: false, max: C.strLenMax, label: $demoi18n('echart.label.axisColor'),
  },

  'echart.xAxis.axisLine.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.axisLineWeight'),
  },

  'echart.xAxis.axisLine.lineStyle.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.axisType'),
  },

  'echart.yAxis.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.yAxisDisplay'),
  },

  'echart.yAxis.name': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.yAxisName'),
  },

  'echart.yAxis.type': {
    type: 'enum', required: false, enumValues: OP.yAxisTypes, label: $demoi18n('echart.label.yAxisType'),
  },

  'echart.yAxis.position': {
    type: 'enum', required: false, enumValues: OP.yAxisPositions, label: $demoi18n('echart.label.yAxisPosition'),
  },

  'echart.yAxis.inverse': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.reverseAxis'),
  },

  'echart.yAxis.[x].show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.yAxisDisplay'),
  },

  'echart.yAxis.[x].name': {
    type: 'number', required: false, max: C.strLenMax, label: $demoi18n('echart.label.yAxisName'),
  },

  'echart.yAxis.[x].type': {
    type: 'enum', required: false, enumValues: OP.yAxisTypes, label: $demoi18n('echart.label.yAxisType'),
  },

  'echart.yAxis.[x].position': {
    type: 'enum', required: false, enumValues: OP.yAxisPositions, label: $demoi18n('echart.label.yAxisPosition'),
  },

  'echart.yAxis.[x].inverse': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.reverseAxis'),
  },

  'echart.yAxis.nameLocation': {
    type: 'enum', required: false, enumValues: OP.axisNameLocations,
    label: $demoi18n('echart.label.axisNameDisplayPosition'),
  },
  'echart.yAxis.nameGap': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisNameAndAxisDistance'),
  },
  'echart.yAxis.nameRotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisNameRotationAngle'),
  },
  'echart.yAxis.nameTextStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },
  'echart.yAxis.nameTextStyle.fontSize': {
    type: 'number', required: false, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'echart.yAxis.nameTextStyle.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },
  'echart.yAxis.nameTextStyle.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },

  'echart.yAxis.[x].nameLocation': {
    type: 'enum', required: false, enumValues: OP.axisNameLocations,
    label: $demoi18n('echart.label.axisNameDisplayPosition'),
  },
  'echart.yAxis.[x].nameGap': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisNameAndAxisDistance'),
  },
  'echart.yAxis.[x].nameRotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisNameRotationAngle'),
  },
  'echart.yAxis.[x].nameTextStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },
  'echart.yAxis.[x].nameTextStyle.fontSize': {
    type: 'number', required: false, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'echart.yAxis.[x].nameTextStyle.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },
  'echart.yAxis.[x].nameTextStyle.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },

  'echart.yAxis.axisLabel.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showScaleLabels'),
  },

  'echart.yAxis.axisLabel.margin': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.labelToAxisDistance'),
  },

  'echart.yAxis.axisLabel.rotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.labelRotationAngle'),
  },

  'echart.yAxis.axisLabel.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.scaleLabelDisplayInterval'),
  },

  'echart.yAxis.axisLabel.inside': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.scaleLabelFacingInward'),
  },

  'echart.yAxis.axisLabel.textStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },

  'echart.yAxis.axisLabel.fontSize': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.fontSize'),
  },

  'echart.yAxis.axisLabel.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },

  'echart.yAxis.axisLabel.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },

  'echart.yAxis.[x].axisLabel.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showScaleLabels'),
  },

  'echart.yAxis.[x].axisLabel.margin': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.labelToAxisDistance'),
  },

  'echart.yAxis.[x].axisLabel.rotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.labelRotationAngle'),
  },

  'echart.yAxis.[x].axisLabel.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.scaleLabelDisplayInterval'),
  },

  'echart.yAxis.[x].axisLabel.inside': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.scaleLabelFacingInward'),
  },

  'echart.yAxis.[x].axisLabel.textStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },

  'echart.yAxis.[x].axisLabel.fontSize': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.fontSize'),
  },

  'echart.yAxis.[x].axisLabel.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },

  'echart.yAxis.[x].axisLabel.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },

  'echart.yAxis.axisTick.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showAxisScale'),
  },

  'echart.yAxis.minInterval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.shaftScaleMin'),
  },

  'echart.yAxis.maxInterval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.maxAxisScale'),
  },

  'echart.yAxis.splitNumber': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.splitNumber'),
  },

  'echart.yAxis.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.axisSplitInterval'),
  },

  'echart.yAxis.axisTick.alignWithLabel': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.alignmentOfTickMarksAndLabels'),
  },

  'echart.yAxis.axisTick.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.displayIntervalOfAxisScale'),
  },

  'echart.yAxis.axisTick.inside': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.shaftScaleInward'),
  },

  'echart.yAxis.axisTick.length': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.lengthOfShaftScale'),
  },

  'echart.yAxis.axisTick.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.axisScaleColor'),
  },

  'echart.yAxis.axisTick.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisScaleLineweight'),
  },

  'echart.yAxis.axisTick.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.axisType'),
  },

  'echart.yAxis.[x].axisTick.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showAxisScale'),
  },

  'echart.yAxis.[x].minInterval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.shaftScaleMin'),
  },

  'echart.yAxis.[x].maxInterval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.maxAxisScale'),
  },

  'echart.yAxis.[x].splitNumber': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.splitNumber'),
  },

  'echart.yAxis.[x].interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.axisSplitInterval'),
  },

  'echart.yAxis.[x].axisTick.alignWithLabel': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.alignmentOfTickMarksAndLabels'),
  },

  'echart.yAxis.[x].axisTick.interval': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.displayIntervalOfAxisScale'),
  },

  'echart.yAxis.[x].axisTick.inside': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.shaftScaleInward'),
  },

  'echart.yAxis.[x].axisTick.length': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.lengthOfShaftScale'),
  },

  'echart.yAxis.[x].axisTick.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.axisScaleColor'),
  },

  'echart.yAxis.[x].axisTick.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.axisScaleLineweight'),
  },

  'echart.yAxis.[x].axisTick.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.axisType'),
  },

  'echart.yAxis.axisLine.symbol.0': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.axisArrowShapeStart'),
  },

  'echart.yAxis.axisLine.symbol.1': {
    type: 'string', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.axisArrowShapeEnd'),
  },

  'echart.yAxis.axisLine.symbolSize.0': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.sizeOfArrowHorizontal'),
  },

  'echart.yAxis.axisLine.symbolSize.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.sizeOfArrowVertical'),
  },

  'echart.yAxis.axisLine.symbolOffset.0': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.arrowOffsetHorizontal'),
  },

  'echart.yAxis.axisLine.symbolOffset.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.offsetOfArrowVertical'),
  },

  'echart.yAxis.axisLine.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.axisColor'),
  },

  'echart.yAxis.axisLine.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.axisLineWeight'),
  },

  'echart.yAxis.axisLine.lineStyle.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.axisType'),
  },

  'echart.yAxis.[x].axisLine.symbol.0': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.axisArrowShapeStart'),
  },

  'echart.yAxis.[x].axisLine.symbol.1': {
    type: 'enum', required: false, enumValues: OP.symbols, label: $demoi18n('echart.label.axisArrowShapeEnd'),
  },

  'echart.yAxis.[x].axisLine.symbolSize.0': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.sizeOfArrowHorizontal'),
  },

  'echart.yAxis.[x].axisLine.symbolSize.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.sizeOfArrowVertical'),
  },

  'echart.yAxis.[x].axisLine.symbolOffset.0': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.arrowOffsetHorizontal'),
  },

  'echart.yAxis.[x].axisLine.symbolOffset.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.offsetOfArrowVertical'),
  },

  'echart.yAxis.[x].axisLine.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.axisColor'),
  },

  'echart.yAxis.[x].axisLine.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.axisLineWeight'),
  },

  'echart.yAxis.[x].axisLine.lineStyle.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.axisType'),
  },

  'echart.dataZoom.slider.show': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.transverseSlider'),
  },

  'echart.dataZoom.slider._barNum': {
    type: 'number', required: false, min: 1, max: C.numberMax, label: $demoi18n('echart.label.xAxisGroupsNumber'),
  },

  'echart.dataZoom.inside.orient': {
    type: 'enum', required: false, enumValues: OP.dataZoomOrients, label: $demoi18n('panel.label.selectControlData'),
  },

  'echart.dataZoom.inside.zoomOnMouseWheel': {
    type: 'enum', required: false, enumValues: OP.dataZoomZoomOnMouseWheels,
    label: $demoi18n('panel.label.howToTriggerWindowScaling'),
  },

  'echart.dataZoom.inside.moveOnMouseMove': {
    type: 'enum', required: false, enumValues: OP.dataZoomMoveOnMouseMoves,
    label: $demoi18n('panel.label.howToTriggerWindowPanning'),
  },

  'adaptSetting.minWidth': {
    type: 'number', required: false, min: 30, max: C.numberMax, label: $demoi18n('panel.label.widthAdaptMinW'),
  },

  'adaptSetting.maxWidth': {
    type: 'number', required: false, min: 30, max: C.numberMax, label: $demoi18n('panel.label.widthAdaptMaxW'),
  },

  'adaptSetting.minHeight': {
    type: 'number', required: false, min: 30, max: C.numberMax, label: $demoi18n('panel.label.heightAdaptMinH'),
  },

  'adaptSetting.maxHeight': {
    type: 'number', required: false, min: 30, max: C.numberMax, label: $demoi18n('panel.label.heightAdaptMaxH'),
  },

  'adaptSetting.unitGapRate': {
    type: 'number', required: false, min: 0, max: C.numberMax, label: $demoi18n('panel.adapt.valSpacing'),
  },

  'adaptSetting.type': {
    type: 'string', required: false, label: $demoi18n('panel.adapt.adaptMode'),
  },

  'adaptSetting.lineHeight': {
    type: 'number', required: false, min: 12, max: C.numberMax, label: $demoi18n('panel.label.verticalTableRowHeight'),
  },

  'adaptSetting.table.name': {
    type: 'string', required: true, label: $demoi18n('word.fieldName'),
  },

  'adaptSetting.table.type': {
    type: 'string', required: false, label: $demoi18n('panel.label.fieldType'),
  },

  'adaptSetting.table.width': {
    type: 'number', required: false, min: 0, max: C.numberMax, label: $demoi18n('panel.adapt.columnWidth'),
  },

  'adaptSetting.table.dot': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.thousands'),
  },

  'echart.series.0.radius.0': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.pieChartInnerDiameter'),
  },

  'echart.series.0.radius.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax,
    label: $demoi18n('echart.label.pieChartOuterDiameter'),
  },

  'echart.series.0.center.0': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.centerPositionX'),
  },

  'echart.series.0.center.1': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.centerPositionY'),
  },

  'echart.series.0.selectedMode': {
    type: 'enum', required: false, enumValues: OP.pieSelectModes, label: $demoi18n('echart.label.selectedMode'),
  },

  'echart.series.0.startAngle': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.startAngle'),
  },

  'echart.series.0.label.position': {
    type: 'enum', required: false, enumValues: OP.pieSeriesLabelPositions, label: $demoi18n('echart.label.labelPosition'),
  },

  'echart.series.0.label.alignTo': {
    type: 'enum', required: false, enumValues: OP.pieLabelAlignTos, label: $demoi18n('echart.label.labelAlignment'),
  },

  'echart.series.0.minShowLabelAngle': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.minimumSector'),
  },

  showTotal: {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showTotals'),
  },

  totalDecimalCount: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.totalDecimal'),
  },

  percentDecimalCount: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.percentDecimal'),
  },

  'echart.series.0.labelLine.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showLeaders'),
  },

  'echart.series.0.labelLine.length': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.lead1Length'),
  },

  'echart.series.0.labelLine.length2': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.lead2Length'),
  },

  'echart.series.0.labelLine.smooth': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.smoothCorners'),
  },

  'echart._nameSeries.[x].name': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.th.sValue'),
  },

  'echart.series.lineStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.polylineColor'),
  },

  'echart.series.lineStyle.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.lineType'),
  },

  'echart.series.lineStyle.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.lineweight'),
  },

  'echart.series.lineStyle.opacity': {
    type: 'number', required: false, min: C.opacityMin, max: C.opacityMax,
    label: $demoi18n('echart.label.lineTransparency'),
  },

  'echart.xAxis.min': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.startValue'),
  },

  'echart.yAxis.min': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.startValue'),
  },

  'echart.yAxis.[x].min': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('echart.label.startValue'),
  },

  'echart.dataZoom.slider.minValueSpan': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.label.zoomMinimum'),
  },
  'threshold.field': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panelData.mapping.field'),
  },
  'threshold.type': {
    type: 'enum', required: false, enumValues: defaultOP.thresholdType, label: $demoi18n('word.valueType'),
  },
  'threshold.min': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: '',
  },
  'threshold.max': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: '',
  },
  'threshold.text': {
    type: 'string', required: false, max: C.strLenMax, label: '',
  },
  'table.border': {
    type: 'enum', required: true, enumValues: defaultOP.borderType, label: $demoi18n('panel.label.tableBorder'),
  },
  'table.lineHeight': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.label.lineHeight'),
  },
  'table.tableBorder': {
    type: 'enum', required: true, enumValues: defaultOP.tableBorderType, label: $demoi18n('panel.label.tableBorder'),
  },
  'cssStyle.title.fontSize': {
    type: 'number', required: true, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'cssStyle.title.fontWeight': {
    type: 'enum', required: true, enumValues: C.fontWeightOptions, label: $demoi18n('panel.cssStyle.bold'),
  },
  'cssStyle.title.fontFamily': {
    type: 'enum', required: true, enumValues: C.fontFamilyOptions, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.title.lineHeight': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.title.lineHeight'),
  },
  'cssStyle.title.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('word.color'),
  },
  'cssStyle.title.backgroundColor': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('word.backgroundColor'),
  },
  'cssStyle.headerStyle.fontSize': {
    type: 'number', required: true, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'cssStyle.headerStyle.fontWeight': {
    type: 'enum', required: true, enumValues: defaultOP.fontWeightOptions, label: $demoi18n('panel.cssStyle.bold'),
  },
  'cssStyle.headerStyle.fontFamily': {
    type: 'enum', required: true, enumValues: defaultOP.fontFamilyOptions, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.headerStyle.horizontal': {
    type: 'enum', required: true, enumValues: CssOP.horStyle, label: $demoi18n('panel.cssStyle.horizontalAlign'),
  },
  'cssStyle.headerStyle.vertical': {
    type: 'enum', required: true, enumValues: CssOP.verStyle, label: $demoi18n('panel.cssStyle.verticalAlign'),
  },
  'cssStyle.headerStyle.showStyle': {
    type: 'enum', required: true, enumValues: CssOP.showStyle, label: $demoi18n('panel.cssStyle.displayMode'),
  },
  'cssStyle.headerStyle.textIconAlign': {
    type: 'enum', required: true, enumValues: CssOP.textIconStyle, label: $demoi18n('panel.cssStyle.textIconAlignment'),
  },
  'cssStyle.contentStyle.fontSize': {
    type: 'number', required: true, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'cssStyle.contentStyle.fontWeight': {
    type: 'enum', required: true, enumValues: defaultOP.fontWeightOptions, label: $demoi18n('panel.cssStyle.bold'),
  },
  'cssStyle.contentStyle.fontFamily': {
    type: 'enum', required: true, enumValues: defaultOP.fontFamilyOptions, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.contentStyle.horizontal': {
    type: 'enum', required: true, enumValues: CssOP.horStyle, label: $demoi18n('panel.cssStyle.horizontalAlign'),
  },
  'cssStyle.contentStyle.vertical': {
    type: 'enum', required: true, enumValues: CssOP.verStyle, label: $demoi18n('panel.cssStyle.verticalAlign'),
  },
  'cssStyle.contentStyle.showStyle': {
    type: 'enum', required: true, enumValues: CssOP.showStyle, label: $demoi18n('panel.cssStyle.displayMode'),
  },
  'cssStyle.footerStyle.fontSize': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.fontSize'),
  },
  'cssStyle.footerStyle.fontWeight': {
    type: 'enum', required: true, enumValues: defaultOP.fontWeightOptions, label: $demoi18n('panel.cssStyle.bold'),
  },
  'cssStyle.footerStyle.fontFamily': {
    type: 'enum', required: true, enumValues: defaultOP.fontFamilyOptions, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.footerStyle.horizontal': {
    type: 'enum', required: true, enumValues: CssOP.horStyle, label: $demoi18n('panel.cssStyle.horizontalAlign'),
  },
  'cssStyle.footerStyle.vertical': {
    type: 'enum', required: true, enumValues: CssOP.verStyle, label: $demoi18n('panel.cssStyle.verticalAlign'),
  },
  'cssStyle.footerStyle.showStyle': {
    type: 'enum', required: true, enumValues: CssOP.showStyle, label: $demoi18n('panel.cssStyle.displayMode'),
  },
  tableWidth: {
    type: 'number', required: true, min: C.numberMin, max: C.numberMaxPct, label: $demoi18n('panel.label.tableWidth'),
  },
  ganttWidth: {
    type: 'number', required: true, min: C.numberMin, max: C.numberMaxPct, label: $demoi18n('panel.label.ganttWidth'),
  },
  'echart.series.top': {
    type: 'number', min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingTop'),
  },
  'echart.series.bottom': {
    type: 'number', min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingDown'),
  },
  'echart.series.left': {
    type: 'number', min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingLeft'),
  },
  'echart.series.right': {
    type: 'number', min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingRight'),
  },
  'series.isLabelShow': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.valueDisplay'),
  },
  'cssStyle.title.value.backgroundColor': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.valueless'),
  },
  'visualMap.size.height': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.lab.visualMapSize'),
  },
  borderRadius: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.borderRadius'),
  },
  istitleMarker: {
    type: 'boolean', required: false, label: $demoi18n('panel.label.titleMarker'),
  },
  backgroundColor: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.cssStyle.bgColor'),
  },
  'groupIcon.iconRange': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.label.iconSize'),
  },
  'groupIcon.firstRow': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.firstRow'),
  },
  'groupIcon.columnTotal': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.columnTotal'),
  },
  'groupIcon.totalDecimal': {
    type: 'number', required: false, label: $demoi18n('panel.totalDecimal'),
  },
  'groupIcon.firstColumnWidth': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.firstColumnWidth'),
  },
  percentDecimal: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.percentDecimal'),
  },
  'echart.series.itemStyle.opacity': {
    type: 'number', required: false, min: C.opacityMin, max: C.opacityMax, label: $demoi18n('panel.label.opacityPercent_1'),
  },
  'params.[x].value': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('multiParams.th.parameterDfVal'),
  },
  nullSet: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.setContents'),
  },
  'echart.series.radarStyle.type': {
    type: 'enum', required: false, enumValues: OP.radarTypes, label: $demoi18n('echart.setting.radarShape'),
  },
  'echart.series.radar.radius': {
    type: 'number', required: false, min: 0, max: 100, label: $demoi18n('echart.label.radarRadius'),
  },
  'echart.series.radar.nameGap': {
    type: 'number', required: false, min: -100, max: 100, label: $demoi18n('echart.label.radarNameGap'),
  },
  data: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('view.table.filterValue'),
  },
  defaultPageSize: {
    type: 'number', required: true, min: C.positiveNumMin, max: C.numberMax,
    label: $demoi18n('panel.label.defaultPageSize'),
  },
  'itemStyle.opacity': {
    type: 'number', required: false, min: C.opacityMin, max: C.opacityMax, label: $demoi18n('panel.label.opacityPercent_1'),
  },
  unit: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.unit'),
  },
  'label.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },
  'label.fontSize': {
    type: 'number', required: false, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'label.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },
  'label.position': {
    type: 'enum', required: false, enumValues: OP.seriesLabelPositions, label: $demoi18n('echart.label.labelPosition'),
  },
  'label.rotate': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('panel.label.labelAngle'),
  },
  'radarStyle.fontFamily': {
    type: 'enum', required: false, enumValues: OP.fontFamilyOptions, label: $demoi18n('echart.label.fonts'),
  },
  'radarStyle.fontSize': {
    type: 'number', required: false, min: C.fontSizeMin, max: C.fontSizeMax, label: $demoi18n('word.fontSize'),
  },
  'radarStyle.fontWeight': {
    type: 'enum', required: false, enumValues: OP.fontWeightOptions, label: $demoi18n('echart.label.bold'),
  },
  'radarStyle.color': {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },
  radarType: {
    type: 'enum', required: false, enumValues: OP.radarTypes, label: $demoi18n('echart.setting.radarShape'),
  },
  'line.type': {
    type: 'enum', required: false, enumValues: OP.lineTypes, label: $demoi18n('echart.label.splitLineType'),
  },
  'line.width': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.splitLineWidth'),
  },
  startAngle: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('echart.label.startAngle'),
  },
  'label.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.label.showDataLabels'),
  },
  'echart.series.radarStyle.show': {
    type: 'boolean', required: false, label: $demoi18n('echart.setting.radarFilling'),
  },
  radarFill: {
    type: 'boolean', required: false, label: $demoi18n('echart.setting.radarFilling'),
  },
  isFunnelValShow: {
    type: 'boolean', required: false, label: $demoi18n('rank.panel.showNumber'),
  },
  isThreshold: {
    type: 'boolean', required: false, label: $demoi18n('panel.label.threshold'),
  },
  isVisualShow: {
    type: 'boolean', required: false, label: $demoi18n('echart.setting.funnelVisualShow'),
  },
  displayStyle: {
    type: 'string', required: false, label: $demoi18n('echart.setting.funnelType'),
  },

  // 气泡图新增
  maxBubbleSize: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.maxBubbleSize'),
  },
  minBubbleSize: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.minBubbleSize'),
  },
  maxLineLen: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.maxLineLen'),
  },
  minLineLen: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.minLineLen'),
  },
  colorComponents: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },
  customColorField: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('panel.label.fontColor'),
  },
  'labelDisplayType.displayName': {
    type: 'boolean', required: false, label: $demoi18n('echart.option.displayName'),
  },
  'labelDisplayType.displayValue': {
    type: 'boolean', required: false, label: $demoi18n('echart.option.displayValue'),
  },
  'labelDisplayType.displayPersentage': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.showPercentage'),
  },

  // 平铺过滤新增
  isButtonType: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.typeSetting.typeSelect'),
  },
  isSetGroup: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.groupStyle'),
  },
  canMultipleSelect: {
    type: 'boolean', required: false, label: $demoi18n('word.choose'),
  },
  hasAll: {
    type: 'boolean', required: false, label: $demoi18n('iconEditor.selectAll'),
  },
  optionGap: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.optionSpacing'),
  },
  optionMaxWidth: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.optionMaxWidth'),
  },
  optionMinWidth: {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.optionMinWidth'),
  },
  overflowYType: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('word.overflowYType'),
  },
  adaptation: {
    type: 'string', required: false, max: C.strLenMax, label: $demoi18n('word.optionAdaptation'),
  },
  maxNumOneLine: {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.maxColumn'),
  },
  'cssStyle.grid.paddingTop': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingTop'),
  },
  'cssStyle.grid.paddingBottom': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingDown'),
  },
  'cssStyle.grid.paddingLeft': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingLeft'),
  },
  'cssStyle.grid.paddingRight': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingRight'),
  },
  'cssStyle.grid.backgroundColor': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.backgroundColor'),
  },
  'cssStyle.active.color': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.active.fontSize': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.fontSize'),
  },
  'cssStyle.active.fontWeight': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.bold'),
  },
  'cssStyle.active.fontFamily': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.default.color': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.default.fontSize': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.fontSize'),
  },
  'cssStyle.default.fontWeight': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.bold'),
  },
  'cssStyle.default.fontFamily': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.button.borderRadius': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('borderRadius'),
  },
  'cssStyle.button.defaultBckColor': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.defaultBgColor'),
  },
  'cssStyle.button.activeBckColor': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.selectBgColor'),
  },
  'cssStyle.group.color': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.group.fontSize': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.fontSize'),
  },
  'cssStyle.group.fontWeight': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.bold'),
  },
  'cssStyle.group.fontFamily': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.cssStyle.fontFamily'),
  },

  // 信息概览新增
  gapSize: {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('word.gapSize'),
  },
  verticalNum: {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.typeSetting.rowNum'),
  },
  isShrinkable: {
    type: 'boolean', required: false, label: $demoi18n('word.Scale-in'),
  },
  'cssStyle.box.paddingTop': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingTop'),
  },
  'cssStyle.box.paddingBottom': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n('word.paddingDown'),
  },
  'cssStyle.box.paddingLeft': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n(''),
  },
  'cssStyle.box.paddingRight': {
    type: 'number', required: true, min: C.numberMin, max: C.numberMax, label: $demoi18n(''),
  },
  'cssStyle.box.backgroundColor': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.unit.color': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.unit.fontSize': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.fontSize'),
  },
  'cssStyle.unit.fontWeight': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.bold'),
  },
  'cssStyle.unit.fontFamily': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n(''),
  },
  'cssStyle.name.color': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.name.fontSize': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.fontSize'),
  },
  'cssStyle.name.fontWeight': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.bold'),
  },
  'cssStyle.name.fontFamily': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n(''),
  },
  'cssStyle.value.color': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.fontColor'),
  },
  'cssStyle.value.fontSize': {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.fontSize'),
  },
  'cssStyle.value.fontWeight': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.bold'),
  },
  'cssStyle.value.fontFamily': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.cssStyle.fontFamily'),
  },
  'cssStyle.nameAndValue.backgroundColor': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.backgroundColor'),
  },
  titleAlign: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.titleAlign'),
  },
  filterTrigger: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('option.filterTrigger'),
  },
  confirmBtnText: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('option.confirmButton'),
  },
  hasResetBtn: {
    type: 'boolean', required: false, label: $demoi18n('option.resetButton'),
  },
  radius: {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('word.dashboardRadius'),
  },
  subName: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.name'),
  },
  isCarouselOn: {
    type: 'boolean', required: false, label: $demoi18n('panel.label.carousel'),
  },
  carouselTime: {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.laebl.carouselInterval'),
  },
  rowPadding: {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('word.paddingLeft'),
  },
  defaultOpenIndex: {
    type: 'number', min: C.numberMin, max: C.numberMax, required: false, label: $demoi18n('panel.label.defaultEnabled'),
  },
  componentType: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panelProperty.label.componentStyle'),
  },
  tabStatus: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.tabSetting'),
  },
  boxWidth: {
    type: 'number', max: C.numberMax, min: C.numberMin, required: false, label: $demoi18n('panel.label.width'),
  },
  boxHeight: {
    type: 'number', max: C.numberMax, min: C.numberMin, required: false, label: $demoi18n('panel.label.height'),
  },
  overflowXSetting: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('word.overflowXSetting'),
  },
  'componentTypeOption[x].label': {
    type: 'string', max: C.strLenMax, required: false, label: `${$demoi18n('panelProperty.label.componentStyle')
    }.label`,
  },
  'componentTypeOption[x].value': {
    type: 'string', max: C.strLenMax, required: false, label: `${$demoi18n('panelProperty.label.componentStyle')
    }.value`,
  },
  'tabData[x].label': {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.tabText'),
  },
  'tabData[x].isActived': {
    type: 'boolean', required: false, label: 'isActived',
  },
  'tabData[x].isCarousel': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.carousel'),
  },
  'tabData[x].isClickable': {
    type: 'boolean', required: false, label: $demoi18n('panel.label.carousel'),
  },
  'tabData[x].tabId': {
    type: 'number', required: false, min: C.numberMin, max: C.numberMax, label: 'tabId',
  },
  tabsPosition: {
    type: 'string', max: C.strLenMax, required: false, label: $demoi18n('panel.label.tabsPosition'),
  },
  emptyDisp: {
    type: 'string', required: false, label: $demoi18n('panel.label.emptyValLine'),
  },
  showGroup: {
    type: 'string', required: false, label: $demoi18n('panel.label.Group'),
  },
  'hasGroup.groupPosition': {
    type: 'enum', required: false, enumValues: OP.labelAligns, label: $demoi18n('panel.label.GroupNamePosition'),
  },
  'hasGroup.groupAline': {
    type: 'enum', required: false, enumValues: OP.labelAline, label: $demoi18n('panel.label.GroupingArrng'),
  },
  'hasGroup.withinOrder': {
    type: 'string', required: false, label: $demoi18n('panel.label.GroupOrder'),
  },
  'hasGroup.withinRowNum': {
    type: 'number', min: C.numberMin, max: 30, required: false, label: $demoi18n('panel.label.GroupRows'),
  },
  'hasGroup.withinColNum': {
    type: 'number', min: C.numberMin, max: 30, required: false, label: $demoi18n('panel.label.GroupColumns'),
  },
  labelOrder: {
    type: 'string', required: false, label: $demoi18n('panel.label.Order'),
  },
  labelAline: {
    type: 'enum', required: false, enumValues: OP.labelAline, label: $demoi18n('panel.label.arrangement'),
  },
  labelRowNum: {
    type: 'number', min: C.numberMin, max: 30, required: false, label: $demoi18n('panel.typeSetting.rowNum'),
  },
  labelColNum: {
    type: 'number', min: C.numberMin, max: 30, required: false, label: $demoi18n('panel.typeSetting.columnNum'),
  },
  labelStyle: {
    type: 'enum', required: false, enumValues: OP.labelStyle, label: $demoi18n('panel.label.Style'),
  },
  labelSelect: {
    type: 'boolean', required: false, label: $demoi18n('panel.labelSelect'),
  },
  'table.defaultEventLine': {
    type: 'number', required: true, min: 1, max: 1000, label: $demoi18n('table.defaultEventLine'),
  },
};
export {
  rulesMap,
};

